package proxy.d.cglib;

import net.sf.cglib.proxy.Enhancer;

/**
 * @author 黄军艳
 * @version 1.0
 * @date 2024/11/27  20:13
 */
public class IntermediaryCglibProxyFactory {
    //获取代理对象的方法
    public static <T> T create(Class<T> target) {
        //创建Enhancer对象，类似于JDK代理中的Proxy类
        Enhancer enhancer = new Enhancer();
        //设置父类的字节码对象。指定父类
        enhancer.setSuperclass(target);
        //设置回调函数
        enhancer.setCallback(new IntermediaryMethodInterceptor());
        //创建代理对象
        return (T) enhancer.create();
    }
}
